-
Samsung - Mobile best practices .
-
TLDR :
-
presentMode:-
FIFO > MAILBOX.
-
-
minImageCount:-
Triple-buffer > double-buffer.
-
-
preTransform:-
Not covered.
-
"Covered in a future post", but the link is broken.
-
-
-
-
-
It's a more technical video.
-
Tiled-based GPUs, etc.
-
I haven't watched it yet.
-
-
See pages 244 to 311 of Efficient Real-Time Shading with Many Lights - Ola Olsson, Emil Persson (Avalanche), Markus Billeter - 2014 for more details.
-
"Many Light Rendering on Mobile Hardware".
-
-
Live Long and Optimise - Samsung 2019 .
-
.
-
.
-
Android ideas for fixing Present blocking :
-
.
-
"This is not going to change when the image is presented, we are just delaying the calling of the function that would display the image, to a point where the image is more likely to be available by the GPU".
-
.
-
-
(2025-09-29) I watched it to study Pipeline Barriers, but the talk covers many mobile-specific topics.
-
GLFW
-
An unfortunate disadvantage is GLFW doesnβt work in Android or iOS; it is a desktop-only solution.
-
SDL does offer mobile support; however, mobile windowing support is best done by interfacing with the Operating system such as using the JNI in Android.
-
While mobile is beyond the scope of this initial tutorial, plans exist to eventually cover it in detail, and Google has excellent documentation .
Pre-Rotation
-
.
-
.
-
You can only query
surfaceCapabilities.currentTransform, you cannot set it. -
If they don't match, the presentation engine will have to do the pre-rotation for you, which has a performance cost.
-
-
Implementing a full pre-rotate system is reportedly difficult, so many engines avoid it.
-
.
-
.
-
This is a simpler option to implement.
-
"Many engines already do a blit to the final image to the swapchain image, so this is the perfect place to do the pre-rotation".
-
"Basically free and you get performance benefits".
-
-